Service-provider networks utilize various services such as firewalls, network address translations (NATs), server load balancing, wide area network (WAN) optimizations, and other open system interconnection (OSI) layer 4 (L4) to layer 7 (L7) services. Managing the operations of these services, such as adding new services or increasing the capacity of a service, may require reconfiguration of multiple network devices, such as routers, switches, and/or servers. The reconfiguration process may be complex and inflexible, and the chance for errors may be high. In addition, many of these services are overprovisioned, where data traffic traverses through unnecessary network devices and/or servers, and thus consuming extra network resources. Further, current networks are not application aware, and may not be dynamically configured based on application requirements, such as quality of service (QoS), security, etc.
Service chaining is a traffic steering technology for deploying a composite of services constructed from one or more L4 to L7 services using software-defined networking (SDN) and network functions virtualization (NFV) technologies so that a traffic flow may be configured to traverse through a particular set of services as defined by the policy for the traffic flow. The Internet Engineering Task Force (IETF) documents draft-ietf-sfc-problem-statement-10.txt, draft-ietf-sfc-architecture-04.txt, and draft-ww-sfc-control-plane-03.txt, which all are incorporated herein by reference, describe a service function chain (SFC) model.